package com.htgd.gardenexpo.service.impl;

import com.alibaba.fastjson.JSONObject;
import com.htgd.gardenexpo.dto.StatusDTO;
import com.htgd.gardenexpo.entity.CommonResult;
import com.htgd.gardenexpo.entity.GeConChallengeSportsTask;
import com.htgd.gardenexpo.dao.GeConChallengeSportsTaskMapper;
import com.htgd.gardenexpo.entity.GeConFreeSportsTask;
import com.htgd.gardenexpo.entity.GeConGoalSportsTask;
import com.htgd.gardenexpo.service.IGeConChallengeSportsTaskService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * <p>
 * 挑战跑任务 服务实现类
 * </p>
 *
 * @author author
 * @since 2025-04-06
 */
@Service
public class GeConChallengeSportsTaskServiceImpl extends ServiceImpl<GeConChallengeSportsTaskMapper, GeConChallengeSportsTask> implements IGeConChallengeSportsTaskService {

    @Autowired
    private GeConChallengeSportsTaskMapper geConChallengeSportsTaskMapper;

    @Override
    public CommonResult add(String openId, JSONObject jsonObject) {
        String challengeId = jsonObject.getString("id");
        if(challengeId==null){
            return CommonResult.error("缺少挑战id");
        }
        GeConChallengeSportsTask geConChallengeSportsTask = new GeConChallengeSportsTask();
        geConChallengeSportsTask.setOpenId(openId);
        geConChallengeSportsTask.setStatus("1");
        geConChallengeSportsTask.setLeisureId(challengeId);
        geConChallengeSportsTaskMapper.insert(geConChallengeSportsTask);
        return CommonResult.success("添加成功",geConChallengeSportsTask.getId());
    }

    @Override
    public CommonResult changeStatus(StatusDTO statusDTO) {
        lambdaUpdate().eq(GeConChallengeSportsTask::getId,statusDTO.getId())
                .set(GeConChallengeSportsTask::getStatus,statusDTO.getStatus())
                .update();
        return CommonResult.success("修改成功");
    }
}
